
/*
 ============================================================================
 Name        : FileTools.h
 Author      : lisuozhu
 Version     :	1.0
 Copyright   : 
 Description : FileTools.h - header file
 ============================================================================
 */
#ifndef	FILE_TOOL_H
#define	FILE_TOOL_H

#include <stdio.h>
#include "Tools.h"

//#include "StringTools.h"

//#define HACK_PAG

/*
 文件数据结构
 说明:
 
 */
typedef struct FILE_DATA_tag
	{
		char *pData;	//存放文件内容BUF地址
		int nSize;		//实际读取的数据大小地址
	}FILE_DATA;

/*初始化*/
void FileTools_Init();
void FileTheme_Path();

/**
 * 功能:
 *			获得指定文件大小
 * 参数:
 *			char		*pFilePath			文件路径
 * 返回值:
 *			int		文件大小,如果文件不存在则返回-1
 */
int FileTools_GetFileSize(char *pFilePath);

/**
 * 功能:
 *			读取指定文件,到指定BUF
 * 参数:
 *			char		*pFilePath			文件路径
 * 返回值:
 *			FILE_DATA*		文件数据结构
 */
FILE_DATA* FileTools_ReadData(char *pFilePath);
FILE_DATA* FileTools_ReadDataEx(char *pFilePath);
FILE_DATA* FileTools_ReadTheme(char *pFilePath);

void FileTools_IsDocuments(char *pFilePath);
/**
 * 功能:
 *			释放文件数据
 * 参数:
 *			FILE_DATA		*pFileData		文件结构数据
 * 返回值:
 *			FILE_DATA*		文件数据结构
 */
void FileTools_FreeData(FILE_DATA *pFileData);

/**
 * 功能:
 *			将指定BUF内容写入指定文件
 * 参数:
 *			char		*pFilePath			文件路径
 *			char		*pData				BUF地址
 *			int		nSize				BUF大小
 * 返回值:
 *	TBOOL		写入成功：TRUE 写入失败:FALSE
 */
TBOOL FileTools_WriteData(char *pFilePath, char *pData, int nSize);
TBOOL FileTools_WriteDataEx(char *pFilePath, char *pData, int nSize);
/**
 * 功能:
 *			获得程序的绝对路径
 * 参数:
 *			char		*pFilePath			程序路径
 *			 
 *			 
 * 返回值:
 *	 -
 */

void FileTools_GetCurrentPath(char *pFilePaht);

void FileTools_DelFile(char *pFilePath);

void FileTools_UpdateFile(char *pName);

void FileTools_GetThemePath(char *pFilePath);

#endif
